<?php

////////////////////////////////////////////////////////////////////////////////////////////
//	Esta clase es la responsable de manejar los datos de la correspondenciaRecibidaInterna.
////////////////////////////////////////////////////////////////////////////////////////////
		
class CorrespondenciaInterna
{			
	/////////////////////////////////////////////////////////////
	//	@access  public
	//	@author <Juan Carlos Morales>
	////////////////////////////////////////////////////////////	
			
	public function __construct ()
	{
	
	
	}
	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// coRecibidaInterna   : Esta funcion es la responsable de agregar un registro de correspondencia recibida interna
	// @parameter : $datos -> es la informacion del registro a insertar. 
	// @author <Juan Carlos Morales>
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	function coRecibidaInterna($data)
	{
		$sql = "
		INSERT INTO `correspondenciarecibidainterna` (
		`cri_codigo` ,
		`cri_fecha` ,
		`cri_hora` ,
		`cri_radicado` ,
		`cri_remitente` ,
		`use_codigo` ,
		`cri_fecha_doc`,
		`cri_anexos` ,
		`cri_serie` ,
		`cri_doc_original`,
		`cri_doc_rename`,
		`cri_estado` 
		)
		VALUES (
		'NULL', '".$data->fecha."', '".$data->hora."', '".$data->radicado."', '".$data->remitente."','".$data->oficina."','".$data->fechaDoc."', '".$data->anexos."','".$data->subserie."',  '".$data->original."',  '".$data->renam."','direccionada')
		";	
				
		return mysql_query($sql);
			 		
	}
	

		
	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// listaRegistroRecibido: Esta funcion es la encargada de listar los registros de la correspondencia interna recibida.
	// @author <Juan Carlos Morales>
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
		
	function listaRegistroRecibido($inicio = 0,$cantidad = 0,$search='',$order_by='')
	{
		
		$where = '';		
		if($search != '')
		$where = " WHERE(use_dependencia like '%".$search."%' 
		           
				  )";		
		
		if($inicio==0 && $cantidad ==0)
		{
			  $sql = "SELECT * FROM correspondenciarecibidainterna AS cri, user WHERE cri.use_codigo=user.use_code ".$where." ORDER BY cri_codigo DESC";
		}
		else
		{
			  $sql = "SELECT * FROM correspondenciarecibidainterna  AS cri, user WHERE cri.use_codigo=user.use_code ".$where." ORDER BY cri_codigo DESC LIMIT ".$inicio.",".$cantidad;	
		}
	
			$consulta  = mysql_query($sql);
			$dato = array();
			$i = 0;
			while($row = mysql_fetch_array($consulta))
			{
				$dato[$i]->criCodigo		  = $row['cri_codigo'];
				$dato[$i]->criFecha  		  = cambiarFormatoFecha($row['cri_fecha'],1);
				$dato[$i]->hora		 		  = $row['cri_hora'];
				$dato[$i]->radicado		      = $row['cri_radicado'];
				$dato[$i]->remitente	 	  = $row['cri_remitente'];
				$dato[$i]->dependencia		  = $row['use_codigo'];
				$dato[$i]->serie			  = $row['cri_serie'];
				$dato[$i]->docRename		  = $row['cri_doc_rename'];
				
																			
				$i++;				
		}
		return $dato;
	
	}	
	
	//////////////////////////////////////////////////////////////////////////////////////////////
	// countPrograms: Esta funcion permite obtener en TOTAL cuantos registros existen.
	//
	// parameter: search --> parametro por el cual va a ser buscado el registro (puede venir vacio)
	//
	// Retorna: la cantidad de registros encontrados
	//
	// Autor: Juan Carlos Morales.
	// Fecha de Creación: 29/03/2012
	//
	///////////////////////////////////////////////////////////////////////////////
	
	public function contarRegistrosRecibida($search='')
	{
		$where = '';
		if($search != '')
		$where = " AND (use_codigo like '%".$search."%' 
		           )";		
		
		
		$sql = "SELECT count(*) AS cant FROM correspondenciarecibidainterna ".$where;
	
		$consulta = mysql_query($sql);
		$row = mysql_fetch_array($consulta);
			
		return $row['cant'];
	}	
	
	
	////////////////////////////////////////////////////////////////////////////////////////
	// addVideo   : Esta funcion es la responsable de agregar un video a la B.D
	// @parameter : $data -> es la informacion del video a insertar. 
	// @author <Juan Carlos Morales>
	////////////////////////////////////////////////////////////////////////////////////////
	
	function addVideo($data)
	{
		$sql = "
		INSERT INTO `video` (
		`vid_code` ,
		`pro_code` ,
		`vid_title` ,
		`vid_date` ,
		`vid_original` ,
		`vid_archivo` ,
		`vid_imagen` ,
		`vid_tipo` ,
		`vid_descripcion`
		)
		VALUES (
		'', '".$data->program."', '".$data->tittle."', '".$data->fecha."', '".$data->original."','".$data->archivo."',  '".$data->imagen."',  '".$data->tipo."',  '".$data->description."')
		";	
		
		return mysql_query($sql);
	}
	
		
	//////////////////////////////////////////////////////////////////////////////////
	// editProgram  : Esta funcion es la encargada de editar los datos de un programa.
	// parametro   : $new_data -> es el array con los datos a editar
	// @author <Juan Carlos Morales>
	//////////////////////////////////////////////////////////////////////////////////
	
	function editRecibidaInterna($new_data)
	{
		$nuevo_archivo = '';
		if(@$new_data->cri_original!='')
		{
			$nuevo_archivo =
			"`cri_doc_original ` = '".$new_data->cri_original."',
			`cri_doc_rename` = '".$new_data->cri_rename."',";
		}
			
		
		 $sql=
		"UPDATE `correspondenciarecibidainterna` SET 
		`cri_fecha` = '".$new_data->cri_fecha."',
		`cri_hora` =  '".$new_data->cri_hora."',$nuevo_archivo
		`cri_remitente` = '".$new_data->cri_remitente."',
		`use_codigo` = '".$new_data->use_codigo."',
		`cri_fecha_doc` = '".$new_data->cri_fecha_doc."',
	    `cri_anexos` = '".$new_data->cri_anexos."',
		`cri_serie` = '".$new_data->cri_serie."'
		 WHERE `cri_codigo` =".$new_data->cri_codigo.";";
			
		return mysql_query($sql);
	}
	
	//////////////////////////////////////////////////////////////////////////////////
	// editSound  : Esta funcion es la encargada de editar los audios
	// parametro   : $new_data -> es el array con los datos a editar
	// @author <Juan Carlos Morales>
	//////////////////////////////////////////////////////////////////////////////////
	
	function editSound($new_data)
	{
		$nuevo_archivo = '';
		if($new_data->original!='')
		{
			$nuevo_archivo =
			"`sou_sound_name` = '".$new_data->original."',
			`sou_sound_rename` = '".$new_data->renam."',";
		}
			
		 $sql=
		"UPDATE `sound` SET 
		`sou_fecha` = '".$new_data->fecha."',
		`sch_code` =  '".$new_data->school."',
		`sou_title` = '".$new_data->tittle."',$nuevo_archivo
		`sou_description` = '".$new_data->description."'
		 WHERE `sou_code` =".$new_data->codeSound.";";
	
		return mysql_query($sql);
	}
	
	
	/////////////////////////////////////////////////////////////////////////////////////
	// deleteProgram : Esta funcion es la encargada de borrar los programas de la B.D
	// parameter     : $code -> es el codigo del programa a borrar
	// @author <Juan Carlos Morales>
	////////////////////////////////////////////////////////////////////////////////////
	
	function deletecrecibidaInterna($code)
	{
		$sql = "DELETE FROM `correspondenciarecibidainterna` WHERE cri_codigo =".$code;
	 	return mysql_query($sql);
		
	}
	
		
	//////////////////////////////////////////////////////////////////////////////////////////////////////////
	// getDataProgram: Esta funcion es la encargada de obtener los datos de los programas.
	/////////////////////////////////////////////////////////////////////////////////////////////////////////
			
	function getDataRecibida($crecibidaCode)
	{		
		$sql = "SELECT * FROM correspondenciarecibidainterna WHERE cri_codigo = ".$crecibidaCode."  ORDER BY cri_codigo";
		$consulta = mysql_query($sql);
		
		$row=mysql_fetch_array($consulta);
		
			
			$dato->cri_fecha 	 	    = cambiarFormatoFecha($row['cri_fecha'],1);
			$dato->cri_hora 	        = $row['cri_hora'];
			$dato->cri_radicado 	    = $row['cri_radicado'];
			$dato->cri_remitente 	    = $row['cri_remitente'];
			$dato->use_codigo	  	    = $row['use_codigo'];
			$dato->cri_fecha_doc        = cambiarFormatofecha($row['cri_fecha_doc'],1);
			$dato->cri_anexos  	        = $row['cri_anexos'];
			$dato->cri_serie  	        = $row['cri_serie'];
			$dato->cri_doc_original     =$row['cri_doc_original'];
			$dato->cri_doc_rename       =$row['cri_doc_rename'];
			$dato->cri_estado           =$row['cri_estado'];
			

					
		return $dato;
	}
	
	//////////////////////////////////////////////////////////////////////////////////////////////////////////
	// getDataSchool: Esta funcion es la encargada de obtener los datos de los colegios.
	/////////////////////////////////////////////////////////////////////////////////////////////////////////
			
	function getDataSchool($codeSchool)
	{		
		$sql = "SELECT * FROM school WHERE sch_code = ".$codeSchool."  ORDER BY sch_code";
		$consulta = mysql_query($sql);
		
		$row=mysql_fetch_array($consulta);
		
			$dato->name		   	 	  = $row['sch_name'];
			$dato->address    	      = $row['sch_address'];
			$dato->phone    	      = $row['sch_phone'];
									
			$dato->esc_name	 	  = $row['sch_esc_name'];
			$dato->esc_rename	  = $row['sch_esc_rename'];
			$dato->description	  = $row['sch_description'];
					
		return $dato;
	}
		
	
	
	//////////////////////////////////////////////////////////////////////////////////////////////////////
	// contarVideosProgram: Esta funcion permite saber en TOTAL cuantos videos tiene cada programa.
	//
	// parameter: codigo --> el codigo de el programa al cual se van a contar los videos
	//						
	//
	// Retorna: la cantidad de videos encontrados
	//
	// Autor: <Juan Carlos Morales>
	// Fecha de Creación: 28/07/2010
	//
	// Modificaciones:
	///////////////////////////////////////////////////////////////////////////////
	
	public function contarVideosProgram($code ='0',$search='')
	{	
		$where = '';
		if($code != '')
			$where = " AND bocl.pro_code = ".$code;
		
		if($search != '')
			$where .= " AND (bocl.bocl_date like '%".$search."%' 
		                OR bocl.bocl_bonus like '%".$search."%'
						OR cli.cli_name like '%".$search."%'
						OR bocl.bocl_reference like '%".$search."%'
						OR bocl.bocl_money like '%".$search."%')";	
			
		
		$sql = "
		SELECT count(*) AS cant FROM `video` AS bocl , program AS pro  
		WHERE pro.pro_code = bocl.pro_code =".$code." ".$where;
	
		$consulta = mysql_query($sql);
		$row = mysql_fetch_array($consulta);
			
		return $row['cant'];
	}
	
	
		/**
	 * mostrarSiguienteNumeracion() -Retorna el nuevo numero a asignar.
	 *
	 * @return $numero
	 */
	public function mostrarSiguienteNumeracionRadicado(){
		$sql = "SELECT cri_codigo FROM correspondenciarecibidainterna ORDER BY cri_codigo DESC";
		$consulta = mysql_query($sql);
		$row=mysql_fetch_array($consulta);
		$id = $row['cri_codigo'];
		if($id == '' || $id==0)
			$numero= '0000001';
		else
		{
			$id++;
			$numero=$this->formatoNumeroRadicado($id);
		}
		return $numero;
	}
	
		/**
	 * formatoNumeroFactura() - Establece el id con el formato para numeracón factura.
	 *
	 * @param unknown_type $id
	 * @return unknown
	 */
	private function formatoNumeroRadicado($id){
		$numero='';
		$tam =strlen($id);
		switch($tam){
			case 1:  $numero='000000'.$id;break;
			case 2:  $numero='00000'.$id;break;
			case 3:  $numero='0000'.$id;break;
			case 4:  $numero='000'.$id;break;
			case 5:  $numero= $id;break;		
		}			
		return $numero;	
	}

						
}
?>